package com.neu.his.commonutils;

import java.util.HashMap;
import java.util.Map;

public class R {
	private Boolean success; //是否成功
	private Integer code;	//状态码
	private String message; // 返回消息
	private Map<String, Object> data = new HashMap<String, Object>();  //返回数据
	
	private R(){}  //构造方法私有化
	//成功静态方法
	   public static R ok(){
	        R r = new R();
	        r.setSuccess(true);
	        r.setCode(ResultCode.SUCCESS);
	        r.setMessage("成功");
	        return r;
	    }
	//失败静态方法
	    public static R error(){
	        R r = new R();
	        r.setSuccess(false);
	        r.setCode(ResultCode.ERROR);
	        r.setMessage("失败");
	        return r;
	    }
	 //成功
	    public R success(Boolean success){
	        this.setSuccess(success);
	        return this;
	    }
	    public R message(String message){
	        this.setMessage(message);
	        return this;
	    }
	    public R code(Integer code){
	        this.setCode(code);
	        return this;
	    }
	  //返回数据
	    public R data(String key, Object value){
	        this.data.put(key, value);
	        return this;
	    }

	    public R data(Map<String, Object> map){
	        this.setData(map);
	        return this;
	    }
	   public Boolean getSuccess() {
			return success;
		}
		public void setSuccess(Boolean success) {
			this.success = success;
		}
		public Integer getCode() {
			return code;
		}
		public void setCode(Integer code) {
			this.code = code;
		}
		public String getMessage() {
			return message;
		}
		public void setMessage(String message) {
			this.message = message;
		}
		public Map<String, Object> getData() {
			return data;
		}
		public void setData(Map<String, Object> data) {
			this.data = data;
		}
		
		public R(Boolean success, Integer code, String message, Map<String, Object> data) {
			super();
			this.success = success;
			this.code = code;
			this.message = message;
			this.data = data;
		}
	 
}
